<?php

namespace Sistema\AdminBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * Sistema\AdminBundle\Entity\Categoria
 *
 * @ORM\Table(name="Categoria")
 * @ORM\Entity
 */
class Categoria
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="bigint", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $nombre
     *
     * @ORM\Column(name="nombre", type="string", length=200, nullable=false)
     */
    private $nombre;

    /**
     * @var string $claseHasta
     *
     * @ORM\Column(name="clase_hasta", type="string", length=20, nullable=false)
     */
    private $claseHasta;

    /**
     * @var \Doctrine\Common\Collections\ArrayCollection
     *
     * @ORM\ManyToMany(targetEntity="Grupo", mappedBy="idCategoria")
     */
    private $idGrupo;
    
    /**
     * Constructor
     */
    public function __construct()
    {
        $this->idGrupo = new \Doctrine\Common\Collections\ArrayCollection();
    }

    public function __toString()
    {
        return $this->getNombre();
    }

    /**
     * Get id
     *
     * @return integer 
     */
    public function getId()
    {
        return $this->id;
    }

    /**
     * Set nombre
     *
     * @param string $nombre
     * @return Categoria
     */
    public function setNombre($nombre)
    {
        $this->nombre = $nombre;
    
        return $this;
    }

    /**
     * Get nombre
     *
     * @return string 
     */
    public function getNombre()
    {
        return $this->nombre;
    }

    /**
     * Add idGrupo
     *
     * @param Sistema\AdminBundle\Entity\Grupo $idGrupo
     * @return Categoria
     */
    public function addIdGrupo(\Sistema\AdminBundle\Entity\Grupo $idGrupo)
    {
        $this->idGrupo[] = $idGrupo;
    
        return $this;
    }

    /**
     * Remove idGrupo
     *
     * @param Sistema\AdminBundle\Entity\Grupo $idGrupo
     */
    public function removeIdGrupo(\Sistema\AdminBundle\Entity\Grupo $idGrupo)
    {
        $this->idGrupo->removeElement($idGrupo);
    }

    /**
     * Get idGrupo
     *
     * @return Doctrine\Common\Collections\Collection 
     */
    public function getIdGrupo()
    {
        return $this->idGrupo;
    }

    /**
     * Set claseHasta
     *
     * @param string $claseHasta
     * @return Categoria
     */
    public function setClaseHasta($claseHasta)
    {
        $this->claseHasta = $claseHasta;
    
        return $this;
    }

    /**
     * Get claseHasta
     *
     * @return string 
     */
    public function getClaseHasta()
    {
        return $this->claseHasta;
    }
}
